1. Field of the Invention
The present invention relates to a design technique for a semiconductor device, and more particularly, to the management of dependencies of design input data, etc. used by a CAD when a design is partitioned and made by a plurality of designers.
2. Description of the Related Art
With an increase in the scale of an object to be designed, the number of cases where a design is shared and made by a plurality of designers has been growing. Additionally, to implement a parallel processing executed by a plurality of designers, a consistency must be maintained in processes, and a variety of proposals for maintaining a consistency have been therefore made.
For example, according to Patent Document 1 (Japanese Published Unexamined Patent Application No. H8-96018), a design execution environment for guaranteeing a consistency in tools is implemented by storing the execution dependencies of a CAD tool.
Additionally, according to Patent Document 2 (Japanese Published Unexamined Patent Application No. H10-97562), an optimum execution order can be automatically determined without causing a designer to make a judgment or perform an operation. With this technique, read association information is generated from the record of accesses, which are made to a database by an application program, dependencies among application programs are generated from the read association information, and the execution order of the application programs is determined from the dependencies.
Furthermore, Patent Document 3 (Japanese Published Unexamined Patent Application No. H7-182404) discloses a configuration where a dependency of each tool used for a design is stored, and each tool is executed based on the dependency.
If a plurality of designers share and make a design, version numbers must be synchronized for design data respectively generated by the designers in some cases.
Conventionally, a designer who executes a design process later must closely contact designers who already started to execute the process regarding design data to be used, and must correctly collect the design data.
One of conventional methods for correctly collecting design data includes a centralized design data storing method for gathering only the latest design data in a predetermined place.
With this method, since a user of design data references only the data gathered in one place, an error such as a misuse of data of an incorrect version number is difficult to occur.
However, once the user starts the process of one version number, he or she cannot start design operations using the design data of the next version number until the entire process for the current version number is complete.
As another method, there is a distributed design data storing method for gathering design data for each version number based on the version number of the most basic design data.
With this method, a designer selects design data gathered for each version number.
However, it is inefficient that each designer has the whole of his or her required data for each version number. This is because different versions use the design data of a common version number of the basic design data in many cases. Accordingly, it is quite inefficient from the viewpoint of memory resources to hold the copy of design data managed independently by version number in a design data storage location provided for each version number.
Furthermore, a method for managing design data for each version number in units of independent design data managed by version number is considered.
In this case, many pieces of distributed design data are managed depending on the number of pieces of independent design data. Besides, the design data managed independently by version number mutually have a dependency in many cases. A designer must remember this dependency, and must select and input consistent design data correctly. This operation becomes a burden for the designer, leading to one factor to cause an error.
Additionally, a CAD tool used at the time of a design can be considered as one of pieces of design data managed independently by version number. However, there are also cases where synchronization must be taken between the version number of a tool and that of data, or between the version numbers of tools. In this case, a designer must closely contact a designer of a CAD tool, and must use the tool correctly.
Furthermore, as a problem of a tool, which can be possibly caused by a design operation environment unique to each designer, there is a case where an execution error is caused by a different symptom although designers use the same tool. In this case, there are no problems if a tool designer considers the individual environments of diverse users. Actually, however, it is difficult to create the tool in consideration of all of cases of many users.